import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Before;
import org.junit.Test;


public class TestGioco {

	public Prigione prigione= new Prigione(10, 10);
	public int x, y;
	public Giocatore giocatore;
	public Arma spada = new Arma("spada", 30);
	
	@Before
	public void first(){
		prigione.creaStanza();
		giocatore = new Giocatore();
	}
	
	@Test
	public void testMove(){
		x = 1;
		y = 2;
		assertTrue(giocatore.moveUp(x, y));
		x = 6;
		y = 5;
		assertTrue(giocatore.moveDown(x, y));
		x = 5;
		y = 7;
		assertTrue(giocatore.downRight(x, y));
		x = 8;
		y = 8;
		assertTrue(giocatore.downLeft(x, y));
		x = 9;
		y = 9;
		assertFalse(giocatore.downLeft(x, y));
	}
	
	@Test
	public void testSet(){
		Prigione.setEl(3, 4, new Uscita());
		assertTrue(prigione.victory(3, 4));
		Prigione.setEl(3, 4, new Mostro());
		assertTrue(prigione.findMonster(3, 4));
		Prigione.setEl(7, 4, new Muro());
		assertTrue(prigione.findWall(7, 4));
		Prigione.setEl(5, 6, new Pozione());
		assertFalse(Prigione.getEl(5, 6) instanceof Muro);
	}
	
	
}
